﻿<?xml version="1.0" encoding="utf-8"?>
<Manifest 
    xmlns="http://schemas.microsoft.com/xw/2004/10/manifest.html"
    xmlns:dssp="http://schemas.microsoft.com/xw/2004/10/dssp.html"
    xmlns:drive="http://schemas.microsoft.com/robotics/2006/05/drive.html" 
    >

  <CreateServiceList>

    <!--Start the I2C HardwareService-->
    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/i2chardware.html</dssp:Contract>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/srf08hardware.html</dssp:Contract>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/md23hardware.html</dssp:Contract>
    </ServiceRecordType>


    <!--Start tutorial 3-->
    <ServiceRecordType>
      <dssp:Contract>http://schemas.tempuri.org/2006/06/roboticstutorial3.html</dssp:Contract>
    </ServiceRecordType>



    <!--Start the Generic (hardware agnostic) drive service-->
    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/robotics/2006/05/drive.html</dssp:Contract>
      <dssp:PartnerList>
        <!--Initial state partner-->
        <dssp:Partner>
          <dssp:Service>http://localhost/mountpoint/Apps/Devantech/Config/Devantech.Drive.Config.xml</dssp:Service>
          <dssp:Name>dssp:StateService</dssp:Name>
        </dssp:Partner>
        
        <dssp:Partner>
          <dssp:Name>drive:BumperService</dssp:Name>
        </dssp:Partner>
        
        <dssp:Partner>
          <dssp:Name>drive:LeftMotor</dssp:Name>
        </dssp:Partner>
        
        <dssp:Partner>
          <dssp:Name>drive:RightMotor</dssp:Name>
        </dssp:Partner>
        
        <dssp:Partner>
          <dssp:Name>drive:LeftEncoder</dssp:Name>
        </dssp:Partner>
        
        <dssp:Partner>
          <dssp:Name>drive:RightEncoder</dssp:Name>
        </dssp:Partner>
        
      </dssp:PartnerList>
    </ServiceRecordType>

    <!--The following section creates the services that the generic drive requires as partners -->

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/srf08sonarasbumper.html</dssp:Contract>
      <dssp:PartnerList>
        <!--Initial state partner-->
        <dssp:Partner>
          <dssp:Service>http://localhost/mountpoint/Samples/Platforms/Devantech/Config/RoboticsTutorial3.Devantech.SonarBumper.Config.xml</dssp:Service>
          <dssp:Name>dssp:StateService</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>      
    </ServiceRecordType>
    
    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/md23motor.html</dssp:Contract>
      <Name>drive:LeftMotor</Name>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/md23motor.html</dssp:Contract>
      <Name>drive:RightMotor</Name>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/md23encoder.html</dssp:Contract>
      <Name>drive:LeftEncoder</Name>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.robot-electronics.co.uk/2006/10/md23encoder.html</dssp:Contract>
      <Name>drive:RightEncoder</Name>
    </ServiceRecordType>

  </CreateServiceList>

</Manifest>
